package chapter07;

/**
 * Created by Miracle yaochengwei on 2022/6/28 20:52
 */
public class VarScope {
    static  class Cat{
       //全局变量:也就是属性，作用域为整个类体Cat类: cry eat等方法使用属性
        //属性在定义时候，可以直接赋值
        int age = 10;//年龄 指定的值是10
        //全局变量(属性)可以不赋值，直接使用，因为有默认值，
       //局部变量必须赋值后，才能使用，因为没有默认值
        double weight;//默认值是 0.0

        public void hi(){
            int num;
            String address = "背景";
            //局部变量必须赋值后，才能使用，因为没有默认值
    //        System.out.println("num=" +num);
            System.out.println("address=" +address);
            System.out.println("weight=" +weight);
        }

        {
            int num = 100;
        }
       public void cry(){
           //1，局部变量一般是指在成员方法中定义的变量
           //2.n 和name 就是局部变量
        //3.n 和name 的作用域在 cry方法中
        int n =10;
        String name = "jack";
           System.out.println("在cry中使用属性age = " +age);
        }
        public void  eat(){
            System.out.println("在eat中使用属性 age=" + age);
            //System.out.println("在eat中使用cry的变量name=" + name);//错 误
           //System.out.println(num);

        }
    }
    public static void main(String[] args) {

    }
}
